﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BrewXML.Core.Services.NavigationServices
{
    public class PageNames
    {

        public const string HomePage = "HomePage";
        public const string ManagerDataPage = "ManagerDataPage";
        public const string HopsPage = "HopsPage";
        public const string MiscsPage = "MiscsPage";
        public const string GrainsPage = "GrainsPage";
        public const string StylesPage = "StylesPage";
        public const string HopDetailPage = "HopDetailPage";
        public const string GrainDetailPage = "GrainDetailPage";
        public const string MiscDetailPage = "MiscDetailPage";
        public const string StyleDetailPage = "StyleDetailPage";
        public const string RecipesPage = "RecipesPage";
        public const string RecipeDetailPage = "RecipeDetailPage";


        #region Fields
        private IDictionary<string, string> mInternalDictionary = new Dictionary<string, string>();
        #endregion

        #region Indexer
        public string this[string key]
        {
            get
            {
                return mInternalDictionary[key];
            }
            set
            {
                mInternalDictionary[key] = value;
            }
        }
        #endregion

        #region Instance
        private static PageNames mInstance;
        public static PageNames Instance
        {
            get
            {
                if (mInstance == null)
                {
                    mInstance = new PageNames();
                }

                return mInstance;
            }
        }
        #endregion

        public PageNames()
        {
            mInternalDictionary.Add(HomePage, "/HomePage.xaml");
            mInternalDictionary.Add(HopsPage, "/HopsPage.xaml");
            mInternalDictionary.Add(ManagerDataPage, "/ManagerDataPage.xaml");
            mInternalDictionary.Add(MiscsPage, "/MiscsPage.xaml");
            mInternalDictionary.Add(GrainsPage, "/GrainsPage.xaml");
            mInternalDictionary.Add(StylesPage, "/StylesPage.xaml");
            mInternalDictionary.Add(HopDetailPage, "/HopDetailPage.xaml");
            mInternalDictionary.Add(GrainDetailPage, "/GrainDetailPage.xaml");
            mInternalDictionary.Add(MiscDetailPage, "/MiscDetailPage.xaml");
            mInternalDictionary.Add(StyleDetailPage, "/StyleDetailPage.xaml");
            mInternalDictionary.Add(RecipesPage, "/RecipesPage.xaml");
            mInternalDictionary.Add(RecipeDetailPage, "/RecipeDetailPage.xaml");
           
        }
    }
}
